iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

內存管理概觀

在Golang中,內存管理是自動化的,由垃圾回收器(Garbage Collector)負責。垃圾回收的主要目標是檢測和回收不再使用的內存,以防止內存洩漏並提高應用程序的性能。

Golang的垃圾回收器自動識別不再被引用的對象,並釋放其佔用的內存,無需手動管理。

過程中,使用"停止-復始"(Stop-The-World),即暫停應用程序的所有執行緒以進行回收。而此設計為低延遲,可以快速執行,並在短時間內恢復應用程序的運行。

runtime

runtime 提供了與程序運行時相關的功能。這邊舉例一些

  • runtime.GC()
import "runtime"

// 手動觸發垃圾回收
runtime.GC()
  • runtime.ReadMemStats()
    用於讀取內存統計信息,包括分配的內存、活動對象的數量等。
import (
    "fmt"
    "runtime"
)

var memStats runtime.MemStats

// 讀取內存統計信息
runtime.ReadMemStats(&memStats)
fmt.Printf("分配的內存:%d bytes\n", memStats.Alloc)
  • runtime.FreeOSMemory()
    主動釋放未使用的操作系統內存。
import "runtime"

// 主動釋放未使用的操作系統內存
runtime.FreeOSMemory()

上一篇
21 | 試著 CRUD 一下
下一篇
23 | 規則什麼的,自己定義!
系列文
Go 語言學習手札30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
yale918
iT邦新手 4 級 ‧ 2023-10-08 00:39:25

golang夥伴推推!

我要留言

立即登入留言